<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
        .container {
            width: 600px;
            height: 600px;
            border: 10px solid pink;
            border-radius: 10px;
            margin: 0 auto;
            position: relative;
        }
        
        .container div {
            width: 30%;
            height: 30%;
            background: gray;
            position: absolute;
            font-size: 50px;
            color: white;
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius: 5px;
        }
    </style>
</head>

<body>
    <div class="container">
        <div style="left: 2%; top: 2%">1</div>
        <div style="left: 35%; top: 2%">2</div>
        <div style="left: 68%; top: 2%">3</div>
        <div style="left: 2%; top: 35%">4</div>
        <div style="left: 35%; top: 35%">5</div>
        <div style="left: 68%; top: 35%">6</div>
        <div style="left: 2%; top: 68%">7</div>
        <div style="left: 35%; top: 68%">8</div>
        <div style="left: 68%; top: 68%">9</div>
    </div>
    <script>
        var arr = [
            "red",
            "blue",
            "yellow",
            "orange",
            "black",
            "pink",
            "gray",
            "purple",
            "green",
        ];
        let divs = document.querySelectorAll(".container div");
        divs.forEach(function(div, key) {
            div.style.backgroundColor = arr[key];
        });
        divs.forEach(function(item) {
            item.onmousedown = function(event) {
                this.style.zIndex = 10;
                var e = event || window.event;
                var x = e.clientX - this.offsetLeft;
                var y = e.clientY - this.offsetTop;
                this.onmousemove = function(event) {
                    var e = event || window.event;
                    var xx = e.clientX;
                    var yy = e.clientY;
                    this.style.left = xx - x + "px";
                    this.style.top = yy - y + "px";
                };
                document.onmouseup = function() {
                    item.onmousemove = "";
                    item.style.zIndex = 0;
                    item.style.left = obj.left;
                    item.style.top = obj.top;
                    item.style.transition = "all 1s";
                };
            };
        });
    </script>
</body>

</html>